vhxubo's blog
关于

Reactjs ♥ 基础 Hooks

useState

组件的状态管理

const [name, setName] = useState('')

// 懒加载初始化? 只在需要的时候执行
const [name, setName] = useState(
() => window.localStorage.getItem('name') || ''
)

useEffect

页面副反应

// 在每次页面更新都触发
useEffect(() => {
console.log('DOM updated')
})

// 只在页面第一次渲染的时候触发
// 适用于初始化 JSON 数据等
useEffect(() => {
console.log('Only on Mounted')
}, [])

// 根据数据状态进行数据更新
useEffect(() => {
console.log('name updated')
}, [name])

// 在页面退出时执行, 类似于 Vue3 中的 `onUnmounted`
useEffect(() => {
return () => {
// 这里填写推出后最后执行的副反应
}
})

useRef

获取 DOM 对象

// 因为在最开始的时候不加载 DOM, 需要配合 useEffect 使用
cosnt elemRef = useRef()

useEffect(() => {
const elemNode = elemRef.current
console.log(elemNode)
}, [])

React Hooks cheat sheet.pdf